#include <stdio.h>
// 数组作为函数形参时，有两种写法
// 1. 传入数组名，需要加上[], 表示数组，若不加，则表示整型变量
// 2. 传入指针形式
void bubble_sort(int arr[], int sz) // 括号内也可以写成(int* arr, int sz)
{
    // 数组名被传入的时候，是数组内首元素的地址，本质是指针变量，大小是4字节
    // 不能在函数内求数组的长度；
    int i = 0;
    for (i = 0; i < sz - 1; i++)
    {
        int j = 0;
        for (j = 0; j < sz - 1 - i; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                int tmp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = tmp;
            }
        }
    }
}
int main()

{
    // 应在主函数内求数组的长度；
    int arr[] = {8, 9, 7, 5, 6, 4, 3, 2, 0, 1};
    int sz = sizeof(arr) / sizeof(arr[0]);
    bubble_sort(arr, sz);
    int i = 0;
    for (i = 0; i < sz; i++)
    {
        printf("%d ", arr[i]);
    }
    return 0;
}